package main

import (
	"github.com/gin-gonic/gin"
	"net/http"
)

func sayHello(c *gin.Context) {
	c.JSON(200, gin.H{
		"message": "Hello golang!",
	})
}

func main() {
	r := gin.Default() //返回默认的路由引擎

	//指定用户使用GET请求访问 /hello 时，执行 sayHello 这个函数
	r.GET("/hello", sayHello)

	//客户端通过四个HTTP动词，对服务器端资源进行操作，实现“表现层状态转化”
	//获取资源
	r.GET("/book", func(context *gin.Context) {
		context.JSON(200, gin.H{
			"method": "GET",
		})
	})
	//新建资源（也可以用于更新资源）
	r.POST("/book", func(context *gin.Context) {
		context.JSON(http.StatusOK, gin.H{
			"method": "POST",
		})
	})
	//更新资源
	r.PUT("/book", func(context *gin.Context) {
		context.JSON(http.StatusOK, gin.H{
			"method": "PUT",
		})
	})
	//删除资源
	r.DELETE("/book", func(context *gin.Context) {
		context.JSON(http.StatusOK, gin.H{
			"method": "DELETE",
		})
	})

	//启动服务，默认是在 0.0.0.0:8080 启动服务
	r.Run(":9090")
}
